package challenge.计挑赛._2020区域赛;

import java.util.Arrays;
import java.util.Scanner;

/*
小明今天收了N个鸡蛋，每个鸡蛋各有重量，现在小明想找M个重量差距最小的鸡蛋摆成一盒出售，
输出符合条件的最重一盒鸡蛋的总重量
输入说明：
第一行，鸡蛋个数N(N<1000)  每盒个数M(M<N)；
第二行，N个鸡蛋重量（浮点）
输出说明：
符合条件的最重一盒鸡蛋的总重量（保留2位小数）
输入样例：8 4
11  9 12 5 10 19 8 6
输出样例：42.00
*/
public class D_最优区间 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt(), m = sc.nextInt();
		double[] nums = new double[n];
		for(int i = 0; i < n; i++) {
			nums[i] = sc.nextDouble();
		}
		Arrays.sort(nums);
		int r = m;
		double sum = 0;

		for(int i = 0; i < r; i++) {
			sum += nums[i];
		}
		double maxSum = sum, minL = nums[r - 1] - nums[0];
		while(r < n) {
			sum += nums[r];
			sum -= nums[r - m];
			if(nums[r] - nums[r - m + 1] == minL) {
				maxSum = Math.max(maxSum, sum);
			}else if(nums[r] - nums[r - m + 1] < minL){
				minL = nums[r] - nums[r - m + 1];
				maxSum = sum;
			}
			r++;
		}
		System.out.printf("%.2f", maxSum);
	}
}

